package com.enjoyor.soa.traffic.api.service.dubbo.tsms;

import java.util.List;

import com.enjoyor.soa.traffic.api.dto.tsms.RltRouteDeviceDto;
import com.enjoyor.soa.traffic.util.pojo.Page;
import com.enjoyor.soa.traffic.util.pojo.ResultPojo;

public interface IDubboRltRouteDeviceService {

	@SuppressWarnings("rawtypes")
	/***
	 * 关联设备分页；
	 * 
	 * @param page
	 *            分页信息page；
	 * @param rltDeviceId
	 *            关联编号
	 * @param taskId
	 *            任务编号；
	 * @param routeId
	 *            线路编号
	 * @param deviceId
	 *            设备编号；
	 * @param deviceName
	 *            设备名称；
	 * @param deviceTypeId
	 *            设备类型；
	 * @return zyh
	 */
	public ResultPojo getRltRouteDevicePage(Page page, String rltDeviceId, String taskId, String routeId,
			String deviceId, String deviceName, String deviceTypeId);

	/***
	 * 获取关联设备List；
	 * 
	 * @param rltDeviceId
	 *            关联设备编号；
	 * @param taskId
	 *            任务编号；
	 * @param routeId
	 *            线路编号；
	 * @param deviceId
	 *            设备编号；
	 * @param deviceName
	 *            设备名称；
	 * @param deviceTypeId
	 *            设备类型编号；
	 * @return zyh
	 */
	public ResultPojo getRltRouteDeviceList(String rltDeviceId, String taskId, String routeId, String deviceId,
			String deviceName, String deviceTypeId);

	/***
	 * 添加关联设备；
	 * 
	 * @param rltRouteDeviceDto
	 *            关联设备对象；
	 * @param personName
	 *            操作人；
	 * @return zyh
	 */
	public ResultPojo insertRltRouteDevice(RltRouteDeviceDto rltRouteDeviceDto, String personName);

	/***
	 * 修改关联设备
	 * 
	 * @param rltRouteDeviceDto
	 *            关联设备对象；
	 * @param personName
	 *            操作人
	 * @return zyh
	 */
	public ResultPojo editRltRouteDevice(RltRouteDeviceDto rltRouteDeviceDto, String personName);

	/***
	 * 删除关联设备信息；
	 * 
	 * @param rltDeviceId
	 *            关联设备编号；
	 * @param personName
	 *            操作人；
	 * @return zyh；
	 */
	public ResultPojo deleteRltRouteDevice(String rltDeviceId, String personName);

	/***
	 * 线路关联设备；
	 * 
	 * @param list
	 *            关联设备对象集合；
	 * @param taskId
	 *            任务编号；
	 * @param routeId
	 *            线路编号；
	 * @param deviceTypeId
	 *            设备类型编号；
	 * @param personName
	 *            操作人；
	 * @return zyh；
	 */
	public ResultPojo rltRouteDeviceList(List<RltRouteDeviceDto> list, String taskId, String routeId,
			String deviceTypeId, String personName);

	/***
	 * 设备替换；
	 * 
	 * @param rltRouteDeviceDto
	 *            关联设备对象；
	 * @param rltDeviceId
	 *            关联设备编号
	 * @param personName
	 *            操作人
	 * @return zyh
	 */
	public ResultPojo replaceRouteDevice(RltRouteDeviceDto rltRouteDeviceDto, String rltDeviceId, String personName);
}
